条件判断

① 基本语法

[ condition ]

注意:

  • condition前后要有空格
  • 条件非空即为true,[ atguigu ]返回true,[] 返回false

② 常用判断条件

a) 两个整数之间比较

参数 说明 参数 说明
-lt 小于(less than) -le 小于等于(less equal)
-eq 等于(equal) -gt 大于(greater than)
-ge 大于等于(greater equal) -ne 不等于(Not equal)

b) 按照文件权限进行判断

参数 说明 参数 说明
-r 有读的权限(read) -w 有写的权限(write)
-x 有执行的权限(execute)

c) 按照文件类型进行判断

参数 说明
-f 文件存在并且是一个常规的文件(file)
-e 文件存在(existence)
-d 文件存在并是一个目录(directory)
$ [ 23 -ge 22 ]
$ echo $?  # 输出 0

$ [ -w hello.sh ]
$ echo $?  # 输出 0

$ [ -e /home/cls.txt ]
$ echo $?  # 输出 0

d) 多条件判断

&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令

$ [ condition ] && echo OK || echo notok
OK
$ [ condition ] && [ ] || echo notok
notok